.class public Lcom/zuimeia/ui/rippleview/ZMRippleView;
.super Landroid/view/View;
.source "ZMRippleView.java"

# interfaces
.implements Landroid/view/View$OnClickListener;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/zuimeia/ui/rippleview/ZMRippleView$OnViewClickListener;,
        Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;,
        Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;,
        Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;
    }
.end annotation


# static fields
.field private static final ASPECT_LOCK_HEIGHT:I = 0x2

.field private static final ASPECT_LOCK_WIDTH:I = 0x1

.field private static final ASPECT_SQUARE:I = 0x0

.field private static final DEFAULT_ALPHA:F = 1.0f

.field private static final DEFAULT_MAX_RADIUS:I = 0x19

.field private static final DEFAULT_MIN_RADIUS:I = 0xa


# instance fields
.field private mAspect:I

.field private mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

.field private final mCurrentPath:Landroid/graphics/Path;

.field private mEnableHapticFeedback:Z

.field private mInStealthMode:Z

.field private mInputEnabled:Z

.field private mIsAnimated:Z

.field private mIsClicking:Z

.field private mMaxRadius:I

.field private mMinRadius:I

.field private mOnViewClickListener:Lcom/zuimeia/ui/rippleview/ZMRippleView$OnViewClickListener;

.field private mPaint:Landroid/graphics/Paint;

.field private mPatternDrawLookup:Z

.field private mRippleAlpha:F

.field private mRippleColor:I

.field private mRippleType:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;


# direct methods
.method public constructor <init>(Landroid/content/Context;)V
    .registers 3
    .param p1, "context"    # Landroid/content/Context;

    .prologue
    .line 62
    const/4 v0, 0x0

    invoke-direct {p0, p1, v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    .line 63
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 11
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "attrs"    # Landroid/util/AttributeSet;

    .prologue
    const/4 v7, 0x0

    const/4 v6, 0x1

    .line 66
    invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V

    .line 34
    sget-object v4, Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;->OFF:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    iput-object v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleType:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    .line 42
    new-instance v4, Landroid/graphics/Paint;

    invoke-direct {v4}, Landroid/graphics/Paint;-><init>()V

    iput-object v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPaint:Landroid/graphics/Paint;

    .line 44
    iput-boolean v7, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mInStealthMode:Z

    .line 45
    iput-boolean v6, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mEnableHapticFeedback:Z

    .line 46
    iput-boolean v6, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mInputEnabled:Z

    .line 47
    iput-boolean v7, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsClicking:Z

    .line 48
    iput-boolean v7, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPatternDrawLookup:Z

    .line 50
    new-instance v4, Landroid/graphics/Path;

    invoke-direct {v4}, Landroid/graphics/Path;-><init>()V

    iput-object v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCurrentPath:Landroid/graphics/Path;

    .line 57
    new-instance v4, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    invoke-direct {v4, p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;)V

    iput-object v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .line 68
    sget-object v4, Lcom/zuimeia/ui/R$styleable;->ZMRippleView:[I

    invoke-virtual {p1, p2, v4}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;

    move-result-object v3

    .line 69
    .local v3, "typedArray":Landroid/content/res/TypedArray;
    sget v4, Lcom/zuimeia/ui/R$styleable;->ZMRippleView_ripple_view_color:I

    const/high16 v5, -0x1000000

    invoke-virtual {v3, v4, v5}, Landroid/content/res/TypedArray;->getColor(II)I

    move-result v4

    iput v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleColor:I

    .line 70
    sget v4, Lcom/zuimeia/ui/R$styleable;->ZMRippleView_ripple_view_alpha:I

    const/high16 v5, 0x3f800000

    invoke-virtual {v3, v4, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F

    move-result v4

    iput v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleAlpha:F

    .line 71
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->getResources()Landroid/content/res/Resources;

    move-result-object v4

    invoke-virtual {v4}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;

    move-result-object v2

    .line 72
    .local v2, "metrics":Landroid/util/DisplayMetrics;
    const/high16 v4, 0x41200000

    invoke-static {v6, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F

    move-result v4

    float-to-int v1, v4

    .line 73
    .local v1, "defaultMinRadius":I
    const/high16 v4, 0x41c80000

    invoke-static {v6, v4, v2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F

    move-result v4

    float-to-int v0, v4

    .line 74
    .local v0, "defaultMaxRadius":I
    sget v4, Lcom/zuimeia/ui/R$styleable;->ZMRippleView_ripple_view_min_radius:I

    invoke-virtual {v3, v4, v1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result v4

    iput v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMinRadius:I

    .line 75
    sget v4, Lcom/zuimeia/ui/R$styleable;->ZMRippleView_ripple_view_max_radius:I

    invoke-virtual {v3, v4, v0}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result v4

    iput v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMaxRadius:I

    .line 76
    invoke-virtual {v3}, Landroid/content/res/TypedArray;->recycle()V

    .line 79
    invoke-virtual {p0, p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->setOnClickListener(Landroid/view/View$OnClickListener;)V

    .line 81
    iput-boolean v7, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsAnimated:Z

    .line 82
    iget-object v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPaint:Landroid/graphics/Paint;

    invoke-virtual {v4, v6}, Landroid/graphics/Paint;->setAntiAlias(Z)V

    .line 83
    iget-object v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPaint:Landroid/graphics/Paint;

    invoke-virtual {v4, v6}, Landroid/graphics/Paint;->setDither(Z)V

    .line 84
    iget-object v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPaint:Landroid/graphics/Paint;

    sget-object v5, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;

    invoke-virtual {v4, v5}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 86
    iput v7, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mAspect:I

    .line 87
    return-void
.end method

.method static synthetic access$000(Lcom/zuimeia/ui/rippleview/ZMRippleView;)F
    .registers 2
    .param p0, "x0"    # Lcom/zuimeia/ui/rippleview/ZMRippleView;

    .prologue
    .line 28
    iget v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleAlpha:F

    return v0
.end method

.method static synthetic access$102(Lcom/zuimeia/ui/rippleview/ZMRippleView;Z)Z
    .registers 2
    .param p0, "x0"    # Lcom/zuimeia/ui/rippleview/ZMRippleView;
    .param p1, "x1"    # Z

    .prologue
    .line 28
    iput-boolean p1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsAnimated:Z

    return p1
.end method

.method static synthetic access$200(Lcom/zuimeia/ui/rippleview/ZMRippleView;)V
    .registers 1
    .param p0, "x0"    # Lcom/zuimeia/ui/rippleview/ZMRippleView;

    .prologue
    .line 28
    invoke-direct {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->handleActionCompleted()V

    return-void
.end method

.method static synthetic access$300(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V
    .registers 2
    .param p0, "x0"    # Lcom/zuimeia/ui/rippleview/ZMRippleView;
    .param p1, "x1"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .prologue
    .line 28
    invoke-direct {p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->animateFadeOut(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    return-void
.end method

.method static synthetic access$400(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)Z
    .registers 3
    .param p0, "x0"    # Lcom/zuimeia/ui/rippleview/ZMRippleView;
    .param p1, "x1"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .prologue
    .line 28
    invoke-direct {p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->isPauseAnimator(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)Z

    move-result v0

    return v0
.end method

.method static synthetic access$500(Lcom/zuimeia/ui/rippleview/ZMRippleView;)I
    .registers 2
    .param p0, "x0"    # Lcom/zuimeia/ui/rippleview/ZMRippleView;

    .prologue
    .line 28
    iget v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMaxRadius:I

    return v0
.end method

.method static synthetic access$602(Lcom/zuimeia/ui/rippleview/ZMRippleView;Z)Z
    .registers 2
    .param p0, "x0"    # Lcom/zuimeia/ui/rippleview/ZMRippleView;
    .param p1, "x1"    # Z

    .prologue
    .line 28
    iput-boolean p1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPatternDrawLookup:Z

    return p1
.end method

.method static synthetic access$702(Lcom/zuimeia/ui/rippleview/ZMRippleView;Z)Z
    .registers 2
    .param p0, "x0"    # Lcom/zuimeia/ui/rippleview/ZMRippleView;
    .param p1, "x1"    # Z

    .prologue
    .line 28
    iput-boolean p1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsClicking:Z

    return p1
.end method

.method private declared-synchronized animateFadeOut(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V
    .registers 6
    .param p1, "cell"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .prologue
    .line 396
    monitor-enter p0

    const/4 v1, 0x2

    :try_start_2
    new-array v1, v1, [F

    const/4 v2, 0x0

    iget v3, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->alpha:F

    aput v3, v1, v2

    const/4 v2, 0x1

    const/4 v3, 0x0

    aput v3, v1, v2

    invoke-static {v1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;

    move-result-object v0

    .line 397
    .local v0, "radiusAnimator":Landroid/animation/ValueAnimator;
    const-wide/16 v2, 0x1c2

    invoke-virtual {v0, v2, v3}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;

    .line 398
    new-instance v1, Landroid/view/animation/AccelerateInterpolator;

    invoke-direct {v1}, Landroid/view/animation/AccelerateInterpolator;-><init>()V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V

    .line 399
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$7;

    invoke-direct {v1, p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$7;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 411
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$8;

    invoke-direct {v1, p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$8;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 420
    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    if-eqz v1, :cond_3f

    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->isRunning()Z

    move-result v1

    if-eqz v1, :cond_3f

    .line 421
    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->cancel()V

    .line 423
    :cond_3f
    iput-object v0, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    .line 424
    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V
    :try_end_44
    .catchall {:try_start_2 .. :try_end_44} :catchall_46

    .line 425
    monitor-exit p0

    return-void

    .line 396
    .end local v0    # "radiusAnimator":Landroid/animation/ValueAnimator;
    :catchall_46
    move-exception v1

    monitor-exit p0

    throw v1
.end method

.method private declared-synchronized animatePopup(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;Z)V
    .registers 7
    .param p1, "cell"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    .param p2, "isStop"    # Z

    .prologue
    .line 243
    monitor-enter p0

    const/4 v1, 0x1

    :try_start_2
    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPatternDrawLookup:Z

    .line 244
    const/4 v1, 0x2

    new-array v1, v1, [F

    const/4 v2, 0x0

    iget v3, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMinRadius:I

    int-to-float v3, v3

    aput v3, v1, v2

    const/4 v2, 0x1

    iget v3, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMaxRadius:I

    int-to-float v3, v3

    aput v3, v1, v2

    invoke-static {v1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;

    move-result-object v0

    .line 245
    .local v0, "radiusAnimator":Landroid/animation/ValueAnimator;
    const-wide/16 v2, 0x12c

    invoke-virtual {v0, v2, v3}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;

    .line 246
    new-instance v1, Landroid/view/animation/OvershootInterpolator;

    const/high16 v2, 0x40400000

    invoke-direct {v1, v2}, Landroid/view/animation/OvershootInterpolator;-><init>(F)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V

    .line 247
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$1;

    invoke-direct {v1, p0, p1, p2}, Lcom/zuimeia/ui/rippleview/ZMRippleView$1;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;Z)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 264
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$2;

    invoke-direct {v1, p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$2;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 273
    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    if-eqz v1, :cond_47

    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->isRunning()Z

    move-result v1

    if-eqz v1, :cond_47

    .line 274
    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->cancel()V

    .line 276
    :cond_47
    iput-object v0, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    .line 277
    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V
    :try_end_4c
    .catchall {:try_start_2 .. :try_end_4c} :catchall_4e

    .line 278
    monitor-exit p0

    return-void

    .line 243
    .end local v0    # "radiusAnimator":Landroid/animation/ValueAnimator;
    :catchall_4e
    move-exception v1

    monitor-exit p0

    throw v1
.end method

.method private declared-synchronized animatePopupByRepeat(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V
    .registers 6
    .param p1, "cell"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .prologue
    .line 281
    monitor-enter p0

    const/4 v1, 0x1

    :try_start_2
    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPatternDrawLookup:Z

    .line 282
    const/4 v1, 0x2

    new-array v1, v1, [F

    const/4 v2, 0x0

    const/4 v3, 0x0

    aput v3, v1, v2

    const/4 v2, 0x1

    iget v3, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMaxRadius:I

    int-to-float v3, v3

    aput v3, v1, v2

    invoke-static {v1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;

    move-result-object v0

    .line 284
    .local v0, "radiusAnimator":Landroid/animation/ValueAnimator;
    new-instance v1, Landroid/view/animation/OvershootInterpolator;

    const/high16 v2, 0x40400000

    invoke-direct {v1, v2}, Landroid/view/animation/OvershootInterpolator;-><init>(F)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V

    .line 285
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$3;

    invoke-direct {v1, p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$3;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 333
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$4;

    invoke-direct {v1, p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$4;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 343
    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    if-eqz v1, :cond_40

    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->isRunning()Z

    move-result v1

    if-eqz v1, :cond_40

    .line 344
    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->cancel()V

    .line 346
    :cond_40
    iput-object v0, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    .line 347
    const-wide/16 v2, 0x1f4

    invoke-virtual {v0, v2, v3}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;

    .line 348
    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V
    :try_end_4a
    .catchall {:try_start_2 .. :try_end_4a} :catchall_4c

    .line 350
    monitor-exit p0

    return-void

    .line 281
    .end local v0    # "radiusAnimator":Landroid/animation/ValueAnimator;
    :catchall_4c
    move-exception v1

    monitor-exit p0

    throw v1
.end method

.method private declared-synchronized animateScaleOut(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V
    .registers 6
    .param p1, "cell"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .prologue
    .line 432
    monitor-enter p0

    const/4 v1, 0x2

    :try_start_2
    new-array v1, v1, [F

    const/4 v2, 0x0

    iget v3, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMaxRadius:I

    add-int/lit8 v3, v3, 0x5

    int-to-float v3, v3

    aput v3, v1, v2

    const/4 v2, 0x1

    const/4 v3, 0x0

    aput v3, v1, v2

    invoke-static {v1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;

    move-result-object v0

    .line 433
    .local v0, "radiusAnimator":Landroid/animation/ValueAnimator;
    const-wide/16 v2, 0x190

    invoke-virtual {v0, v2, v3}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;

    .line 434
    new-instance v1, Landroid/view/animation/AccelerateInterpolator;

    invoke-direct {v1}, Landroid/view/animation/AccelerateInterpolator;-><init>()V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V

    .line 435
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$9;

    invoke-direct {v1, p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$9;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 448
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$10;

    invoke-direct {v1, p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$10;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 457
    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    if-eqz v1, :cond_42

    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->isRunning()Z

    move-result v1

    if-eqz v1, :cond_42

    .line 458
    iget-object v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->cancel()V

    .line 460
    :cond_42
    iput-object v0, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    .line 461
    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V
    :try_end_47
    .catchall {:try_start_2 .. :try_end_47} :catchall_49

    .line 462
    monitor-exit p0

    return-void

    .line 432
    .end local v0    # "radiusAnimator":Landroid/animation/ValueAnimator;
    :catchall_49
    move-exception v1

    monitor-exit p0

    throw v1
.end method

.method private checkForNewHit()Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    .registers 2

    .prologue
    .line 232
    iget-boolean v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPatternDrawLookup:Z

    if-eqz v0, :cond_6

    .line 233
    const/4 v0, 0x0

    .line 235
    :goto_5
    return-object v0

    :cond_6
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    goto :goto_5
.end method

.method private declared-synchronized detectAndAddHit()Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    .registers 4

    .prologue
    .line 215
    monitor-enter p0

    :try_start_1
    invoke-direct {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->checkForNewHit()Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    move-result-object v0

    .line 216
    .local v0, "cell":Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    if-eqz v0, :cond_10

    .line 217
    iget-object v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleType:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    sget-object v2, Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;->OFF:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    if-ne v1, v2, :cond_13

    .line 218
    invoke-direct {p0, v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->animateScaleOut(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V
    :try_end_10
    .catchall {:try_start_1 .. :try_end_10} :catchall_1e

    .line 228
    :cond_10
    :goto_10
    const/4 v1, 0x0

    monitor-exit p0

    return-object v1

    .line 219
    :cond_13
    :try_start_13
    iget-object v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleType:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    sget-object v2, Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;->ON:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    if-ne v1, v2, :cond_21

    .line 220
    const/4 v1, 0x1

    invoke-direct {p0, v0, v1}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->animatePopup(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;Z)V
    :try_end_1d
    .catchall {:try_start_13 .. :try_end_1d} :catchall_1e

    goto :goto_10

    .line 215
    .end local v0    # "cell":Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    :catchall_1e
    move-exception v1

    monitor-exit p0

    throw v1

    .line 221
    .restart local v0    # "cell":Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    :cond_21
    :try_start_21
    iget-object v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleType:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    sget-object v2, Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;->IMPACT:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    if-ne v1, v2, :cond_2c

    .line 222
    const/4 v1, 0x0

    invoke-direct {p0, v0, v1}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->animatePopup(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;Z)V

    goto :goto_10

    .line 224
    :cond_2c
    invoke-direct {p0, v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->animatePopupByRepeat(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V
    :try_end_2f
    .catchall {:try_start_21 .. :try_end_2f} :catchall_1e

    goto :goto_10
.end method

.method private drawCircle(Landroid/graphics/Canvas;)V
    .registers 8
    .param p1, "canvas"    # Landroid/graphics/Canvas;

    .prologue
    .line 162
    invoke-direct {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->getCenterXForColumn()F

    move-result v1

    .line 163
    .local v1, "centerX":F
    invoke-direct {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->getCenterYForRow()F

    move-result v2

    .line 165
    .local v2, "centerY":F
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .line 166
    .local v0, "cell":Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    iget-object v3, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPaint:Landroid/graphics/Paint;

    iget v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleColor:I

    invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setColor(I)V

    .line 167
    iget-object v3, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPaint:Landroid/graphics/Paint;

    iget v4, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->alpha:F

    iget v5, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleColor:I

    invoke-static {v5}, Landroid/graphics/Color;->alpha(I)I

    move-result v5

    int-to-float v5, v5

    mul-float/2addr v4, v5

    float-to-int v4, v4

    invoke-virtual {v3, v4}, Landroid/graphics/Paint;->setAlpha(I)V

    .line 169
    iget v3, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->radius:F

    iget-object v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPaint:Landroid/graphics/Paint;

    invoke-virtual {p1, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V

    .line 170
    return-void
.end method

.method private getCenterXForColumn()F
    .registers 2

    .prologue
    .line 187
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->getWidth()I

    move-result v0

    div-int/lit8 v0, v0, 0x2

    int-to-float v0, v0

    return v0
.end method

.method private getCenterYForRow()F
    .registers 2

    .prologue
    .line 191
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->getHeight()I

    move-result v0

    div-int/lit8 v0, v0, 0x2

    int-to-float v0, v0

    return v0
.end method

.method private handleActionCompleted()V
    .registers 2

    .prologue
    const/4 v0, 0x0

    .line 209
    iput-boolean v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsClicking:Z

    .line 210
    iput-boolean v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPatternDrawLookup:Z

    .line 211
    return-void
.end method

.method private handleActionOnClick()V
    .registers 3

    .prologue
    .line 196
    iget-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsClicking:Z

    if-eqz v1, :cond_5

    .line 206
    :cond_4
    :goto_4
    return-void

    .line 199
    :cond_5
    const/4 v1, 0x1

    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsClicking:Z

    .line 201
    invoke-direct {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->detectAndAddHit()Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    move-result-object v0

    .line 202
    .local v0, "hitCell":Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    if-eqz v0, :cond_4

    .line 203
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->invalidate()V

    goto :goto_4
.end method

.method private isPauseAnimator(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)Z
    .registers 5
    .param p1, "cell"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 353
    iget-boolean v2, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->isPauseAnimatorViaON:Z

    if-eqz v2, :cond_17

    .line 354
    iput-boolean v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->isPauseAnimatorViaON:Z

    .line 355
    iget v2, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMaxRadius:I

    int-to-float v2, v2

    iput v2, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->radius:F

    .line 356
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->invalidate()V

    .line 357
    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsAnimated:Z

    .line 358
    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mPatternDrawLookup:Z

    .line 359
    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsClicking:Z

    .line 368
    :goto_16
    return v0

    .line 362
    :cond_17
    iget-boolean v2, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->isPauseAnimatorViaOFF:Z

    if-eqz v2, :cond_21

    .line 363
    iput-boolean v1, p1, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->isPauseAnimatorViaOFF:Z

    .line 364
    invoke-direct {p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->stopAnimateViaClosed(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    goto :goto_16

    :cond_21
    move v0, v1

    .line 368
    goto :goto_16
.end method

.method private resolveMeasured(II)I
    .registers 6
    .param p1, "measureSpec"    # I
    .param p2, "desired"    # I

    .prologue
    .line 137
    const/4 v0, 0x0

    .line 138
    .local v0, "result":I
    invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I

    move-result v1

    .line 139
    .local v1, "specSize":I
    invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I

    move-result v2

    sparse-switch v2, :sswitch_data_16

    .line 148
    move v0, v1

    .line 150
    :goto_d
    return v0

    .line 141
    :sswitch_e
    move v0, p2

    .line 142
    goto :goto_d

    .line 144
    :sswitch_10
    invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I

    move-result v0

    .line 145
    goto :goto_d

    .line 139
    nop

    :sswitch_data_16
    .sparse-switch
        -0x80000000 -> :sswitch_10
        0x0 -> :sswitch_e
    .end sparse-switch
.end method

.method private declared-synchronized stopAnimateViaClosed(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V
    .registers 6
    .param p1, "cell"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .prologue
    .line 372
    monitor-enter p0

    const/4 v1, 0x2

    :try_start_2
    new-array v1, v1, [F

    const/4 v2, 0x0

    iget v3, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMaxRadius:I

    int-to-float v3, v3

    aput v3, v1, v2

    const/4 v2, 0x1

    const/4 v3, 0x0

    aput v3, v1, v2

    invoke-static {v1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;

    move-result-object v0

    .line 373
    .local v0, "radiusAnimator":Landroid/animation/ValueAnimator;
    const-wide/16 v2, 0xc8

    invoke-virtual {v0, v2, v3}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;

    .line 374
    new-instance v1, Landroid/view/animation/AccelerateInterpolator;

    invoke-direct {v1}, Landroid/view/animation/AccelerateInterpolator;-><init>()V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V

    .line 375
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$5;

    invoke-direct {v1, p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView$5;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 384
    new-instance v1, Lcom/zuimeia/ui/rippleview/ZMRippleView$6;

    invoke-direct {v1, p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$6;-><init>(Lcom/zuimeia/ui/rippleview/ZMRippleView;Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V

    invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V

    .line 392
    invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V
    :try_end_32
    .catchall {:try_start_2 .. :try_end_32} :catchall_34

    .line 393
    monitor-exit p0

    return-void

    .line 372
    .end local v0    # "radiusAnimator":Landroid/animation/ValueAnimator;
    :catchall_34
    move-exception v1

    monitor-exit p0

    throw v1
.end method


# virtual methods
.method public declared-synchronized animateScaleOut()V
    .registers 2

    .prologue
    .line 428
    monitor-enter p0

    :try_start_1
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    invoke-direct {p0, v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->animateScaleOut(Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;)V
    :try_end_6
    .catchall {:try_start_1 .. :try_end_6} :catchall_8

    .line 429
    monitor-exit p0

    return-void

    .line 428
    :catchall_8
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public getRippleType()Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;
    .registers 2

    .prologue
    .line 94
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleType:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    return-object v0
.end method

.method public isIsAnimated()Z
    .registers 2

    .prologue
    .line 239
    iget-boolean v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsAnimated:Z

    return v0
.end method

.method public onClick(Landroid/view/View;)V
    .registers 4
    .param p1, "v"    # Landroid/view/View;

    .prologue
    .line 174
    iget-object v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mOnViewClickListener:Lcom/zuimeia/ui/rippleview/ZMRippleView$OnViewClickListener;

    if-eqz v1, :cond_d

    .line 175
    iget-object v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mOnViewClickListener:Lcom/zuimeia/ui/rippleview/ZMRippleView$OnViewClickListener;

    invoke-interface {v1}, Lcom/zuimeia/ui/rippleview/ZMRippleView$OnViewClickListener;->onClick()Z

    move-result v0

    .line 176
    .local v0, "isOnClick":Z
    if-eqz v0, :cond_d

    .line 183
    .end local v0    # "isOnClick":Z
    :goto_c
    return-void

    .line 181
    :cond_d
    invoke-direct {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->handleActionOnClick()V

    goto :goto_c
.end method

.method protected onDetachedFromWindow()V
    .registers 3

    .prologue
    .line 574
    invoke-super {p0}, Landroid/view/View;->onDetachedFromWindow()V

    .line 575
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    .line 576
    .local v0, "cell":Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;
    if-eqz v0, :cond_10

    iget-object v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    if-eqz v1, :cond_10

    .line 577
    iget-object v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->animator:Landroid/animation/Animator;

    invoke-virtual {v1}, Landroid/animation/Animator;->cancel()V

    .line 579
    :cond_10
    return-void
.end method

.method protected onDraw(Landroid/graphics/Canvas;)V
    .registers 3
    .param p1, "canvas"    # Landroid/graphics/Canvas;

    .prologue
    .line 155
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCurrentPath:Landroid/graphics/Path;

    .line 156
    .local v0, "currentPath":Landroid/graphics/Path;
    invoke-virtual {v0}, Landroid/graphics/Path;->rewind()V

    .line 157
    invoke-direct {p0, p1}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->drawCircle(Landroid/graphics/Canvas;)V

    .line 158
    return-void
.end method

.method protected onMeasure(II)V
    .registers 8
    .param p1, "widthMeasureSpec"    # I
    .param p2, "heightMeasureSpec"    # I

    .prologue
    .line 116
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->getSuggestedMinimumWidth()I

    move-result v1

    .line 117
    .local v1, "minimumWidth":I
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->getSuggestedMinimumHeight()I

    move-result v0

    .line 118
    .local v0, "minimumHeight":I
    invoke-direct {p0, p1, v1}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->resolveMeasured(II)I

    move-result v3

    .line 119
    .local v3, "viewWidth":I
    invoke-direct {p0, p2, v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->resolveMeasured(II)I

    move-result v2

    .line 121
    .local v2, "viewHeight":I
    iget v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mAspect:I

    packed-switch v4, :pswitch_data_2a

    .line 133
    :goto_15
    invoke-virtual {p0, v3, v2}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->setMeasuredDimension(II)V

    .line 134
    return-void

    .line 123
    :pswitch_19
    invoke-static {v3, v2}, Ljava/lang/Math;->min(II)I

    move-result v2

    move v3, v2

    .line 124
    goto :goto_15

    .line 126
    :pswitch_1f
    invoke-static {v3, v2}, Ljava/lang/Math;->min(II)I

    move-result v2

    .line 127
    goto :goto_15

    .line 129
    :pswitch_24
    invoke-static {v3, v2}, Ljava/lang/Math;->min(II)I

    move-result v3

    goto :goto_15

    .line 121
    nop

    :pswitch_data_2a
    .packed-switch 0x0
        :pswitch_19
        :pswitch_1f
        :pswitch_24
    .end packed-switch
.end method

.method protected onRestoreInstanceState(Landroid/os/Parcelable;)V
    .registers 4
    .param p1, "state"    # Landroid/os/Parcelable;

    .prologue
    .line 503
    move-object v0, p1

    check-cast v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;

    .line 504
    .local v0, "ss":Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;
    invoke-virtual {v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;->getSuperState()Landroid/os/Parcelable;

    move-result-object v1

    invoke-super {p0, v1}, Landroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V

    .line 505
    invoke-virtual {v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;->isInputEnabled()Z

    move-result v1

    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mInputEnabled:Z

    .line 506
    invoke-virtual {v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;->isInStealthMode()Z

    move-result v1

    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mInStealthMode:Z

    .line 507
    invoke-virtual {v0}, Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;->isTactileFeedbackEnabled()Z

    move-result v1

    iput-boolean v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mEnableHapticFeedback:Z

    .line 508
    return-void
.end method

.method protected onSaveInstanceState()Landroid/os/Parcelable;
    .registers 7

    .prologue
    .line 496
    invoke-super {p0}, Landroid/view/View;->onSaveInstanceState()Landroid/os/Parcelable;

    move-result-object v1

    .line 497
    .local v1, "superState":Landroid/os/Parcelable;
    new-instance v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;

    iget-boolean v2, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mInputEnabled:Z

    iget-boolean v3, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mInStealthMode:Z

    iget-boolean v4, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mEnableHapticFeedback:Z

    const/4 v5, 0x0

    invoke-direct/range {v0 .. v5}, Lcom/zuimeia/ui/rippleview/ZMRippleView$SavedState;-><init>(Landroid/os/Parcelable;ZZZLcom/zuimeia/ui/rippleview/ZMRippleView$1;)V

    return-object v0
.end method

.method public setClosedMode()V
    .registers 3

    .prologue
    .line 472
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    iget v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleAlpha:F

    iput v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->alpha:F

    .line 473
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    const/4 v1, 0x0

    iput v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->radius:F

    .line 474
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->invalidate()V

    .line 475
    return-void
.end method

.method public setOnViewClickListener(Lcom/zuimeia/ui/rippleview/ZMRippleView$OnViewClickListener;)V
    .registers 2
    .param p1, "mOnViewClickListener"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$OnViewClickListener;

    .prologue
    .line 588
    iput-object p1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mOnViewClickListener:Lcom/zuimeia/ui/rippleview/ZMRippleView$OnViewClickListener;

    .line 589
    return-void
.end method

.method public setOpenedMode()V
    .registers 3

    .prologue
    .line 466
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    iget v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleAlpha:F

    iput v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->alpha:F

    .line 467
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    iget v1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mMaxRadius:I

    int-to-float v1, v1

    iput v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->radius:F

    .line 468
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->invalidate()V

    .line 469
    return-void
.end method

.method public setRippleType(Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;)V
    .registers 2
    .param p1, "mRippleType"    # Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    .prologue
    .line 90
    iput-object p1, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleType:Lcom/zuimeia/ui/rippleview/ZMRippleView$RippleType;

    .line 91
    return-void
.end method

.method public declared-synchronized stopAnimateViaOff()V
    .registers 3

    .prologue
    .line 487
    monitor-enter p0

    :try_start_1
    iget-boolean v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsAnimated:Z
    :try_end_3
    .catchall {:try_start_1 .. :try_end_3} :catchall_12

    if-nez v0, :cond_7

    .line 492
    :goto_5
    monitor-exit p0

    return-void

    .line 490
    :cond_7
    :try_start_7
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    const/4 v1, 0x0

    iput-boolean v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->isPauseAnimatorViaON:Z

    .line 491
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    const/4 v1, 0x1

    iput-boolean v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->isPauseAnimatorViaOFF:Z
    :try_end_11
    .catchall {:try_start_7 .. :try_end_11} :catchall_12

    goto :goto_5

    .line 487
    :catchall_12
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public declared-synchronized stopAnimateViaOn()V
    .registers 3

    .prologue
    .line 478
    monitor-enter p0

    :try_start_1
    iget-boolean v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mIsAnimated:Z
    :try_end_3
    .catchall {:try_start_1 .. :try_end_3} :catchall_12

    if-nez v0, :cond_7

    .line 484
    :goto_5
    monitor-exit p0

    return-void

    .line 481
    :cond_7
    :try_start_7
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    const/4 v1, 0x1

    iput-boolean v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->isPauseAnimatorViaON:Z

    .line 482
    iget-object v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mCell:Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;

    const/4 v1, 0x0

    iput-boolean v1, v0, Lcom/zuimeia/ui/rippleview/ZMRippleView$Cell;->isPauseAnimatorViaOFF:Z
    :try_end_11
    .catchall {:try_start_7 .. :try_end_11} :catchall_12

    goto :goto_5

    .line 478
    :catchall_12
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public updatePaintColor(I)V
    .registers 3
    .param p1, "id"    # I

    .prologue
    .line 592
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getColor(I)I

    move-result v0

    iput v0, p0, Lcom/zuimeia/ui/rippleview/ZMRippleView;->mRippleColor:I

    .line 593
    invoke-virtual {p0}, Lcom/zuimeia/ui/rippleview/ZMRippleView;->invalidate()V

    .line 594
    return-void
.end method
